Gujin is hosted by SourceForge Logo

What is Gujin

Here is the description you can find at Freshmeat:

Gujin is a PC boot loader which can analyze your filesystems.
It finds the Linux kernel images available, as well as other bootable partitions (for *BSD, MS-DOS, Windows, etc.) and files (*.kgz), and displays a graphical menu for selecting which system to boot.
Because it understands the structure of Linux kernel images, Gujin does not need LILO nor GRUB and can even load very big kernels.
There is no need to execute anything after making a new kernel: just copy the kernel image file into the "/boot" directory.
Gujin is written almost entirely in C with GCC, and it fully executes in real mode to be as compatible as possible.

Documentation

The documentation (FAQ & HowTo) I try to keep up to date is at the Document Manager of Sourceforge
Note also the file "install.txt" and the help given by --help/-h option of the "instboot" and "gzcopy" software included.

You basically have three flavour of the same software (produced by recompilation with different compiler options):

In short, to make all this possible, I wrote a GCC interface to the PC BIOS and all the library functions needed to easily boot a kernel.
I also wrote a DOS interface to be used if you booted a rescue DOS floppy or if you choose "return to DOS" in Windows 3.x/9x. This DOS software should work everywhere but will not be able to start Linux in a Windows DOS box - you do not want to do that anyways (too many open files not properly closed, so a scandisk at boot).
I am using a completely re-written GZIP (decompression only) library, 100% compatible with GZIP and zlib and a small Linux/UNIX "gzcopy" application to edit the comment field of GZIP files.
The main reason for the rewrite is a smaller program size, it has been seriously tested (10 CD-ROM full of .tar.gz decompressed and CRC checked), but if anyone find a problem (else than CDROM not readable or a file renamed to *.gz after being compressed with another tool) I will be glad to hear from it.
I am also using a completely re-written E2FS (read only) library, and a DOS FAT12/16/32 (read only) library to search for and load kernels; they have been tested extensively (E2FS, E3FS with 1 & 4 Kbytes blocks, lot of DOS filesystems), no problem has been found.
There is still no NTFS nor CDROM/ISO9660 support.
The system to access the video interface, which can handle in graphic modes CGA/EGA only, VGA only, VESA1 only and VESA2+ video card is unique to Gujin.
Four types of mouse are detected, for fun you can even have a joystick on a VT320 when using the serial interface - I have to make a screen shoot one day!
The size of this bootloader (only one file) is in between 25 and 140 Kbytes, depending on the compile time options.

Screen Shoots

Screen shoots are not easy to take in the real BIOS environment, but fortunately DosEmu is here, to give you some idea of what you get, just before switching to graphic (if verbose mode is active):

boot image

You should check at least once that this information is correct, you can then uncheck the "verbose" box in the setup screen for a "quick" boot.

Just after switching to graphic, you will see something like this if you have a DOS bootable partition, a Linux distribution, and a Redmond system:

main image

Then, if a mouse/joystick has been detected, you can click to one of the highlighted fields to either switch to another video mode or boot a kernel, else you can use the keyboard interface (keys '+', '-','/', '*' ... , and function keys).
Note that those kernels have been found automagically, they are not described in any "/etc/gujin.conf" this file do not and will never exist.

If you press "space" or the "setup" field (on the top right), you can setup the display and remove some fields:

setup image

So you get by re-clicking setup or re-pressing space:

simple image

The setup screen has a lot more checkboxes, to search kernel and/or MBR, to search on floppy disks or to BIOS disks or only to IDE...:

setup2 image

You can also change the language used by a compilation option; now only French is available - look at "messages.h" file to help supporting your own language...

french setup image

At the end (press the end key or click on the button) you get some command, last one being "uninstall" to remove Gujin and restore the old boot process. Here, that option is not enabled because dosemu has booted from a floppy, you need also to enable write to the hard disk to be able to desinstall:

cmd image

You can also get more unusual video modes, like text mode 40x25:

mode0 image

16 colors video modes in VGA only graphic:

sixteen color image

or even 4 colors video modes (2 Bit Per Pixel but in dosemu):

four color image

Yes, that is the same software, the same floppy!

By the way, if you do, on a test floppy:

./instboot --full boot.bin /dev/fd0 --serial=com1,9600,n,8,1
put this flopppy in the PC to boot, and link the two PCs by a crossed serial line (with or without two modems and a phone line in between), you can type:

serial connection

The "serial initialisation failed" is due to no answer received whatsoever when interrogating the terminal type - Gujin then assumes a monochrome VT100 terminal. If you have a more powerfull terminal, like a color VT430, or a VT420 which can do 132 columns and 48 lines, be sure to connect it before the identification code is asked (physical terminal autodetection).

You can start minicom and set it to /dev/ttyS0, 9600 baud and get:

serial menu

Active/clickable fields are underlined, as usual.

Selecting a kernel will really boot it (you will have the console on your serial line) - you will need to setup getty to accept connection on serial line (in /etc/inittab) if you want to connect (see also /etc/securetty).

Have fun!


Comments to Etienne Lorrain. Donate to this projectDonate to gujin boot/system loader

Last modified 2004-04-07


Gujin is hosted by SourceForge Logo